package mspbots.data.tl.prod.autotask.model;


import com.baomidou.mybatisplus.annotation.TableField;
import com.baomidou.mybatisplus.annotation.TableName;
import lombok.*;
import mspbots.data.tl.entity.BaseTenantEntity;

import java.time.LocalDateTime;

@Data
@Builder
@EqualsAndHashCode(callSuper=false)
@AllArgsConstructor
@NoArgsConstructor
@TableName("task_autotask_task")
public class TaskAutotaskTask extends BaseTenantEntity {

    @TableField(value = "task_id")
    private Long taskId;

    @TableField(value = "status")
    private String status;

    @TableField(value = "is_task_billable")
    private Boolean isTaskBillable;

    @TableField(value = "last_activity_date_time")
    private LocalDateTime lastActivityDateTime;

    @TableField(value = "task_type")
    private String taskType;

    @TableField(value = "title")
    private String title;

    @TableField(value = "can_client_portal_user_complete_task")
    private Boolean canClientPortalUserCompleteTask;

    @TableField(value = "priority")
    private String priority;

    @TableField(value = "project_id")
    private Long projectId;

//    project_account	String

//    status_detail	String

//    project_status_set_date	DateTime

    @TableField(value = "start_date_time")
    private LocalDateTime startDateTime;


    @TableField(value = "department_id")
    private Long departmentId;


    @TableField(value = "purchase_order_number")
    private String purchaseOrderNumber;
    @TableField(value = "task_number")
    private String taskNumber;

    @TableField(value = "description")
    private String description;

    @TableField(value = "end_date_time")
    private LocalDateTime endDateTime;

    @TableField(value = "create_date_time")
    private LocalDateTime createDateTime;

    @TableField(value = "completed_date_time")
    private LocalDateTime completedDateTime;


//    allocation_code	String
//    creator_resource_username	String

    @TableField(value = "creator_resource_id")
    private Long creatorResourceId;

    @TableField(value = "creator_resource_type")
    private String creatorResourceType;

    @TableField(value = "is_visible_in_client_portal")
    private Boolean isVisibleInClientPortal;

    @TableField(value = "estimated_hours")
    private Double estimatedHours;

    @TableField(value = "assigned_resource_role_id")
    private Long assignedResourceRoleId;

    @TableField(value = "assigned_resource_id")
    private Long assignedResourceId;
//    assigned_resource_name	String

    @TableField(value = "remaining_hours")
    private Double remainingHours;

    @TableField(value = "phase_id")
    private Long phaseId;

    @TableField(value = "sync_time")
    private LocalDateTime syncTime;


//    phase_title	String
//    phase_start_date	DateTime
//    phase_estimated_hours	Decimal
//    phase_due_date	DateTime


}
